package goos

import (
	"os"
	"runtime"
)

// Hostname : 主机名
func Hostname() string {
	hostname, _ := os.Hostname()
	return hostname
}

// UserHomeDir : 用户主目录
func UserHomeDir() string {
	userHomeDir, _ := os.UserHomeDir()
	return userHomeDir
}

// UserConfigDir : 用户配置目录
func UserConfigDir() string {
	userConfigDir, _ := os.UserConfigDir()
	return userConfigDir
}

// UserCacheDir : 用户缓存目录
func UserCacheDir() string {
	userCacheDir, _ := os.UserCacheDir()
	return userCacheDir
}

// GetWorkDir : 当前文件夹
func GetWorkDir() string {
	currentDirectory, _ := os.Getwd()
	return currentDirectory
}

// GetPID : 进程 ID
func GetPID() int {
	return os.Getpid()
}

// GetUID : 用户 ID
func GetUID() int {
	return os.Getuid()
}

// GetGID : 用户组 ID
func GetGID() int {
	return os.Getgid()
}

// TempDir : 临时目录
func TempDir() string {
	return os.TempDir()
}

// GetENV : 获取环境变量
func GetENV(key string) string {
	return os.Getenv(key)
}

// GOROOT : GO 根目录
func GOROOT() string {
	return runtime.GOROOT()
}

// GOOS : 操作系统(darwin, freebsd, linux)
func GOOS() string {
	return runtime.GOOS
}

// GOARCH : 架构(386, amd64, arm, s390x)
func GOARCH() string {
	return runtime.GOARCH
}

// Version : GO 版本
func Version() string {
	return runtime.Version()
}

// NumCPU : CPU 数量
func NumCPU() int {
	return runtime.NumCPU()
}
